package org.misalen.web.database.model.mysql.pro;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.misalen.annotations.DataAccess;
import org.misalen.annotations.Enumeration;
import org.misalen.annotations.ModelComment;
import org.misalen.web.database.model.mysql.BaseSqlModel;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * 司机用户表
 * 
 * @author guochao
 *
 */
@Entity
@Table(name = "ProDriverUser")
@DynamicInsert(true)
@DynamicUpdate(true)
@JsonIgnoreProperties({ "imei", "password", "state" })
public class ProDriverUser extends BaseSqlModel {

	@ModelComment("手机号")
	@Column(name = "mobile", length = 50, unique = true, nullable = false)
	private String mobile;

	@ModelComment("登录时间")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "loginTime")
	private Date loginTime;

	@ModelComment("用户名")
	@Column(name = "userName", length = 50, nullable = false)
	private String userName;

	@ModelComment("设备唯一标识")
	@Column(name = "imei", length = 100, nullable = false)
	private String imei;

	@ModelComment("密码")
	@Column(name = "password", length = 50, nullable = false)
	private String password;

	@ModelComment("归属城市")
	@Enumeration("pro-city")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "belongCity", length = 50, nullable = false)
	private String belongCity;

	@ModelComment("车型")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "vehicleModel", length = 50, nullable = false)
	private String vehicleModel;

	@ModelComment("年龄范围")
	@Enumeration("pro-age")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "ageRange", length = 50, nullable = false)
	private String ageRange;

	@ModelComment("社会群体")
	@Enumeration("pro-social-groups")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "socialGroup", length = 50, nullable = false)
	private String socialGroup;

	@ModelComment("车牌号")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "vehicleNumber", length = 50, nullable = false)
	private String vehicleNumber;

	@ModelComment("冻结钱包")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "freezeBalance", nullable = false)
	private Long freezeBalance;

	@ModelComment("可提现")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "balance ", nullable = false)
	private Long balance;

	@ModelComment("状态")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "state", length = 50, nullable = false)
	private String state;

	@ModelComment("头枕机码")
	@Column(name = "headrestCode", nullable = false)
	private String headrestCode;

	@ModelComment("后座机码")
	@Column(name = "backseatCode", nullable = false)
	private String backseatCode;
	@ModelComment("今日收入")
	@Column(name = "todayIncome", nullable = false)
	private Long todayIncome;
	@ModelComment("累计提现")
	@Column(name = "withdrawal", nullable = false)
	@DataAccess(add = false, search = false, update = false, list = false)
	private Long withdrawal;

	public Long getWithdrawal() {
		return withdrawal;
	}

	public void setWithdrawal(Long withdrawal) {
		this.withdrawal = withdrawal;
	}

	/**
	 * 获取mobile
	 * 
	 * @return mobile mobile
	 */
	public String getMobile() {
		return mobile;
	}

	/**
	 * 设置mobile
	 * 
	 * @param mobile
	 *            mobile
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	/**
	 * 获取loginTime
	 * 
	 * @return loginTime loginTime
	 */
	public Date getLoginTime() {
		return loginTime;
	}

	/**
	 * 设置loginTime
	 * 
	 * @param loginTime
	 *            loginTime
	 */
	public void setLoginTime(Date loginTime) {
		this.loginTime = loginTime;
	}

	/**
	 * 获取userName
	 * 
	 * @return userName userName
	 */
	public String getUserName() {
		return userName;
	}

	/**
	 * 设置userName
	 * 
	 * @param userName
	 *            userName
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * 获取imei
	 * 
	 * @return imei imei
	 */
	public String getImei() {
		return imei;
	}

	/**
	 * 设置imei
	 * 
	 * @param imei
	 *            imei
	 */
	public void setImei(String imei) {
		this.imei = imei;
	}

	/**
	 * 获取password
	 * 
	 * @return password password
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * 设置password
	 * 
	 * @param password
	 *            password
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * 获取belongCity
	 * 
	 * @return belongCity belongCity
	 */
	public String getBelongCity() {
		return belongCity;
	}

	/**
	 * 设置belongCity
	 * 
	 * @param belongCity
	 *            belongCity
	 */
	public void setBelongCity(String belongCity) {
		this.belongCity = belongCity;
	}

	/**
	 * 获取vehicleModel
	 * 
	 * @return vehicleModel vehicleModel
	 */
	public String getVehicleModel() {
		return vehicleModel;
	}

	/**
	 * 设置vehicleModel
	 * 
	 * @param vehicleModel
	 *            vehicleModel
	 */
	public void setVehicleModel(String vehicleModel) {
		this.vehicleModel = vehicleModel;
	}

	/**
	 * 获取ageRange
	 * 
	 * @return ageRange ageRange
	 */
	public String getAgeRange() {
		return ageRange;
	}

	/**
	 * 设置ageRange
	 * 
	 * @param ageRange
	 *            ageRange
	 */
	public void setAgeRange(String ageRange) {
		this.ageRange = ageRange;
	}

	/**
	 * 获取socialGroup
	 * 
	 * @return socialGroup socialGroup
	 */
	public String getSocialGroup() {
		return socialGroup;
	}

	/**
	 * 设置socialGroup
	 * 
	 * @param socialGroup
	 *            socialGroup
	 */
	public void setSocialGroup(String socialGroup) {
		this.socialGroup = socialGroup;
	}

	/**
	 * 获取vehicleNumber
	 * 
	 * @return vehicleNumber vehicleNumber
	 */
	public String getVehicleNumber() {
		return vehicleNumber;
	}

	/**
	 * 设置vehicleNumber
	 * 
	 * @param vehicleNumber
	 *            vehicleNumber
	 */
	public void setVehicleNumber(String vehicleNumber) {
		this.vehicleNumber = vehicleNumber;
	}

	/**
	 * 获取freezeBalance
	 * 
	 * @return freezeBalance freezeBalance
	 */
	public Long getFreezeBalance() {
		return freezeBalance;
	}

	/**
	 * 设置freezeBalance
	 * 
	 * @param freezeBalance
	 *            freezeBalance
	 */
	public void setFreezeBalance(Long freezeBalance) {
		this.freezeBalance = freezeBalance;
	}

	/**
	 * 获取balance
	 * 
	 * @return balance balance
	 */
	public Long getBalance() {
		return balance;
	}

	/**
	 * 设置balance
	 * 
	 * @param balance
	 *            balance
	 */
	public void setBalance(Long balance) {
		this.balance = balance;
	}

	/**
	 * 获取state
	 * 
	 * @return state state
	 */
	public String getState() {
		return state;
	}

	/**
	 * 设置state
	 * 
	 * @param state
	 *            state
	 */
	public void setState(String state) {
		this.state = state;
	}

	/**
	 * 获取headrestCode
	 * 
	 * @return headrestCode headrestCode
	 */
	public String getHeadrestCode() {
		return headrestCode;
	}

	/**
	 * 设置headrestCode
	 * 
	 * @param headrestCode
	 *            headrestCode
	 */
	public void setHeadrestCode(String headrestCode) {
		this.headrestCode = headrestCode;
	}

	/**
	 * 获取backseatCode
	 * 
	 * @return backseatCode backseatCode
	 */
	public String getBackseatCode() {
		return backseatCode;
	}

	/**
	 * 设置backseatCode
	 * 
	 * @param backseatCode
	 *            backseatCode
	 */
	public void setBackseatCode(String backseatCode) {
		this.backseatCode = backseatCode;
	}

	public Long getTodayIncome() {
		return todayIncome;
	}

	public void setTodayIncome(Long todayIncome) {
		this.todayIncome = todayIncome;
	}

}
